#ifndef B2D_SPRITE_H
#define B2D_SPRITE_H

#include "IRenderable.h"
#include "Rect.h"
#include "ITexture.h"
#include "RigidBody.h"
#include "BaseResource.h"

NS_B2D_BEGIN

struct SpriteAnimation
{
	enum Collision
	{
		DONT_MODIFY,
		FIRST_FRAME,
		PER_FRAME
	};
};

class B2D_API Sprite final
		: public IRenderable
{
private:
	size2 size;
	vec2 origin;
	Rectf texCoords;
	RigidBodyDef physics;

public:
	Sprite(void);
	~Sprite(void);

	const string& getName(void) const;
	void setName(const string& name);


	const TexturePtr& getTexture(void) const;
	const Rectf& getTextureRect(void) const;

	const size2& getSizeInPixels(void) const;

};
NS_B2D_END

#endif